package com.ruoyi.bole.integral.service;

import java.util.List;
import com.ruoyi.bole.integral.domain.BoleIntegralOrganization;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 组织关系Service接口
 * 
 * @author wujiale
 * @date 2025-07-04
 */
public interface IBoleIntegralOrganizationService 
{
    public int addMembers(Long orgId, List<Long> userIds);
    public int batchInsertLeaders(Long orgId, // 组织ID
                                   List<Long> userIds );
    public BoleIntegralOrganization getByuserId();
    public List<BoleIntegralOrganization> getListAndIsGroupByParentId(Long parentId);
    public List<BoleIntegralOrganization> getListByParentId(Long parentId);
    public int distrubutePointsByOgId(
             Long orgId,
             Long points,Long bOrgId
    );

    public int  distrubuteAllocatedIntegralByOrgId(Long orgId, Long reducePoints,Long bOrgId,
                                                   Long toUserId,String remark);
    /**
     * 查询组织关系
     * 
     * @param orgId 组织关系主键
     * @return 组织关系
     */
    public BoleIntegralOrganization selectBoleIntegralOrganizationByOrgId(Long orgId);

    /**
     * 查询组织关系列表
     * 
     * @param boleIntegralOrganization 组织关系
     * @return 组织关系集合
     */
    public List<BoleIntegralOrganization> selectBoleIntegralOrganizationList(BoleIntegralOrganization boleIntegralOrganization);

    /**
     * 新增组织关系
     * 
     * @param boleIntegralOrganization 组织关系
     * @return 结果
     */
    public int insertBoleIntegralOrganization(BoleIntegralOrganization boleIntegralOrganization);

    /**
     * 修改组织关系
     * 
     * @param boleIntegralOrganization 组织关系
     * @return 结果
     */
    public int updateBoleIntegralOrganization(BoleIntegralOrganization boleIntegralOrganization);

    /**
     * 批量删除组织关系
     * 
     * @param orgIds 需要删除的组织关系主键集合
     * @return 结果
     */
    public int deleteBoleIntegralOrganizationByOrgIds(Long[] orgIds);

    /**
     * 删除组织关系信息
     * 
     * @param orgId 组织关系主键
     * @return 结果
     */
    public int deleteBoleIntegralOrganizationByOrgId(Long orgId);
}
